#ifndef PALETTE_H
#define PALETTE_H

#include "../../../qt/Logger.h"

#include "Color.h"

#define PALETTE_INDEX_MAX 256
#define PALETTE_VALUE_MAX 0xffff

class Palette {

public:
	Palette();
	~Palette();
	void setColor(int index, Color const& color);
	void setMappingFromTo(int value, int index);
	const Color& getColor(int value) const;

private:
	
	Color** _indexToColor;
	int*    _valueToIndex;
};

inline
const Color& Palette::getColor(int value) const {
//	if (value != 0) {
//		Logger::debug(QString("=== Palette::getColor(%1)").arg(value));
//	}
	return *(_indexToColor[_valueToIndex[value]]);
}
#endif	// PALETTE_H

